package com.example.springbootjpasqllogdemo.service;

import com.example.springbootjpasqllogdemo.common.result.Result;
import com.example.springbootjpasqllogdemo.dto.UserRecordListDTO;
import com.example.springbootjpasqllogdemo.dto.UserRecordSaveOrUpdateDTO;

/**
 * 系统用户档案表 业务逻辑层
 *
 * @author Lv
 * @date 2022/11/4
 */
public interface UserRecordService {
    /**
     * 保存用户档案数据
     *
     * @param userRecordSaveOrUpdateDTO 用户档案添加对象
     * @return
     */
    Result<?> save(UserRecordSaveOrUpdateDTO userRecordSaveOrUpdateDTO);

    /**
     * 分页查询用户档案列表
     *
     * @param userRecordListDTO 用户档案查询对象
     * @return
     */
    Result<?> load(UserRecordListDTO userRecordListDTO);

    /**
     * 获取详情
     *
     * @param id 用户档案id
     * @return
     */
    Result<?> getById(Integer id);

    /**
     * 修改用户档案数据
     *
     * @param id                        用户档案id
     * @param userRecordSaveOrUpdateDTO 用户档案修改对象
     * @return
     */
    Result<?> update(Integer id, UserRecordSaveOrUpdateDTO userRecordSaveOrUpdateDTO);

    /**
     * 删除用户档案
     *
     * @param id 用户档案id
     * @return
     */
    Result<?> delete(Integer id);
}
